The Hypertext Transfer Protocol (HTTP) is used in transactions over networks, such as the Internet, whereby a browser on a client will request information from a server. The server will respond using an HTTP response with the requested information e.g., a web page. On some occasions a server can be inundated with requests from browsers and be unresponsive or incur large latencies in responding to browser requests. This is common in situations when the server does not have enough resources, such as bandwidth, storage space, and computing power to respond to the multitude of browser requests that the server receives. Moreover, even in situations when a server is not overloaded, retrieving information from a server over a wide area network (WAN) is more expensive and takes longer than retrieving information from a local area network (LAN).
There are some solutions that have been implemented to alleviate the above identified problems. Servers can be upgraded to include resources that exceed expected usage. For example, a server may be implemented as a server farm with a number of different servers that share the load of responding to browser requests and also provide redundancy in case of a failure. Another solution is to purchase additional bandwidth. However, these solutions are expensive because they require the purchase of additional hardware or services.
It is with respect to these and other considerations that the embodiments have been made. Also, although relatively specific problems have been discussed, it should be understood that the embodiments should not be limited to solving the specific problems identified in the background.